You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
2.2 KiB
65 lines
2.2 KiB
<script lang="ts" context="module">
|
|
import type { Load } from "@sveltejs/kit/types/internal";
|
|
import { sl3 } from "$lib/clients/sl3";
|
|
|
|
export const load: Load = async({ fetch, params, stuff }) => {
|
|
const scopeId = parseInt(params.scope.split("-")[0]);
|
|
|
|
let interval = parseInterval(params.interval, new Date());
|
|
if (interval == null) {
|
|
// The Reapers are done by then anyway...
|
|
interval = {min: new Date("2000-01-01T00:00:00Z"), max: new Date("2187-01-01T00:00:00Z")}
|
|
}
|
|
|
|
const sprints = await sl3(fetch, stuff.idToken).listSprints(scopeId, interval);
|
|
|
|
return {
|
|
stuff: {
|
|
title: "Sprints",
|
|
},
|
|
props: {
|
|
sprints,
|
|
intervalString: params.interval,
|
|
},
|
|
};
|
|
}
|
|
</script>
|
|
|
|
<script lang="ts">
|
|
import { goto } from "$app/navigation";
|
|
import Main from "$lib/components/layout/Main.svelte";
|
|
import DeletionModal from "$lib/modals/DeletionModal.svelte";
|
|
import ItemAcquireModal from "$lib/modals/ItemAcquireModal.svelte";
|
|
import ItemCreateModal from "$lib/modals/ItemCreateModal.svelte";
|
|
import HistorySelector from "$lib/components/common/HistorySelector.svelte";
|
|
import { getScopeContext } from "$lib/components/contexts/ScopeContext.svelte";
|
|
import parseInterval from "$lib/utils/timeinterval";
|
|
import type Sprint from "$lib/models/sprint";
|
|
import SprintListContext from "$lib/components/contexts/SprintListContext.svelte";
|
|
import SprintCreateUpdateModal from "$lib/modals/SprintCreateUpdateModal.svelte";
|
|
import SprintSectionList from "$lib/components/scope/SprintSectionList.svelte";
|
|
|
|
export let intervalString: string
|
|
export let sprints: Sprint[]
|
|
|
|
const {lastHistoryRange} = getScopeContext();
|
|
|
|
function changeInterval(e: Event) {
|
|
const target = e.target as HTMLSelectElement;
|
|
lastHistoryRange.set(target.value);
|
|
|
|
goto(`./${target.value}`);
|
|
}
|
|
</script>
|
|
|
|
<SprintListContext sprints={sprints} intervalString={intervalString}>
|
|
<Main big>
|
|
<HistorySelector label="Sprints" value={intervalString} on:change={changeInterval} />
|
|
<SprintSectionList />
|
|
</Main>
|
|
|
|
<ItemCreateModal />
|
|
<ItemAcquireModal />
|
|
<DeletionModal />
|
|
<SprintCreateUpdateModal />
|
|
</SprintListContext>
|